else
item.parent_data = NULL;
- /* Select the render target; -1 is the default */
if (render_node_needs_render_target (node))
{
item.render_data.render_target_id =
glBlendFuncSeparate (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
glBlendEquation (GL_FUNC_ADD);
- /* Transparent pass: back-to-front */
GSK_NOTE (OPENGL, g_print ("Rendering %u items\n", self->render_items->len));
for (i = 0; i < self->render_items->len; i++)
{
/* Draw the output of the GL rendering to the window */
gsk_gl_driver_end_frame (self->gl_driver);
gpu_time = gsk_gl_profiler_end_gpu_region (self->gl_profiler);
- GSK_NOTE (OPENGL, g_print ("GPU time: %" G_GUINT64_FORMAT " nsec\n", gpu_time));
+ GSK_NOTE (OPENGL, g_print ("GPU time: %g usec\n", (double) gpu_time / 1000.0));
out:
/* XXX: Add GdkDrawingContext API */
}
void main() {
- vec4 Cb = Texture(uSource, vUv);
- vec4 Cs = Texture(uMask, vUv);
+ vec4 Cs = Texture(uSource, vUv);
+ vec4 Cb = Texture(uMask, vUv);
vec3 res;
if (uBlendMode == 0) {
gl_Position = uMVP * vec4(aPosition, 0.0, 1.0);
// Flip the sampling
- vUv = vec2(aUv.x, 1.0 - aUv.y);
+ vUv = vec2(aUv.x, aUv.y);
}
gl_Position = uMVP * vec4(aPosition, 0.0, 1.0);
// Flip the sampling
- vUv = vec2(aUv.x, 1.0 - aUv.y);
+ vUv = vec2(aUv.x, aUv.y);
}
* instead.
*/
+#define ORTHO_NEAR_PLANE -10000
+#define ORTHO_FAR_PLANE 10000
+
typedef struct _GtkWindowPopover GtkWindowPopover;
struct _GtkWindowPopover
static void gtk_window_keys_changed (GtkWindow *window);
static gboolean gtk_window_enable_debugging (GtkWindow *window,
gboolean toggle);
-static gint gtk_window_draw (GtkWidget *widget,
- cairo_t *cr);
static GskRenderNode *gtk_window_get_render_node (GtkWidget *widget,
GskRenderer *renderer);
static void gtk_window_unset_transient_for (GtkWindow *window);
graphene_matrix_init_ortho (&projection,
0, allocation->width * scale,
- 0, allocation->height * scale,
- -1, 1);
+ allocation->height * scale, 0,
+ ORTHO_NEAR_PLANE,
+ ORTHO_FAR_PLANE);
gsk_renderer_set_projection (priv->renderer, &projection);
graphene_matrix_init_translate (&modelview,